package com.liuxinlong.api;

import java.util.Map;

/**
 * 连接物料成本卷积管理服务
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2023年05月25日
 */
public interface ConvolutionInterface {

    /**
     * 校验物料信息
     *
     * @param materialNo 物料号
     * @param region     物料所在域
     * @return 校验结果信息
     */
    Map<String, Object> checkMaterial(String materialNo, String region);

    /**
     * 物料滚价
     *
     * @param id         滚价序列号
     * @param materialNo 物料号
     * @param region     物料所在域
     * @return 滚价发起结果
     */
    Map<String, Object> rollingMaterialPrice(String id, String materialNo, String region);

    /**
     * 物料状态变更
     *
     * @param id           状态变更序列号
     * @param materialNo   物料号
     * @param region       物料所在域
     * @param targetStatus 目标状态
     * @return 物料状态变更结果
     */
    Map<String, Object> changeMaterialStatus(String id, String materialNo, String region, String targetStatus);


    /**
     * 查询物料状态信息
     *
     * @param materialNo 物料号
     * @param region     物料所在域
     * @return 物料状态信息
     */
    Map<String, Object> getMaterialStatus(String materialNo, String region);
}
